package main
import "fmt"
type worker struct {
	name string
	salary uint
   }
   
func (w *worker) raise () {
w.salary += 1000
}

func (w worker) raise1 () {
w.salary += 1000
}

func main () {
	// 值类型调用者
w := worker{
	name: "frank",
	salary: 5000,
}
// 指针类型接收者
w.raise()
fmt.Printf("w 的姓名是 %s，薪水是每月 %d\n", w.name, w.salary)

// 值类型调用者
w1 :=worker{
	name: "frank1",
	salary: 5000,
}
// 值类型接收者
w1.raise1()
fmt.Printf("w1 的姓名是 %s，薪水是每月 %d\n", w1.name, w1.salary)

// 指针类型调用者
w2 := &worker{
	name: "lucy",
	salary: 5000,
}
// 指针类型接收者
w2.raise()
fmt.Printf("w2 的姓名是 %s，薪水是每月 %d\n", w2.name, w2.salary)

// 指针类型调用者
w3 := &worker{
	name: "lucy1",
	salary: 5000,
}
// 值类型接收者
w3.raise1()
fmt.Printf("w3 的姓名是 %s，薪水是每月 %d\n", w3.name, w3.salary)
}